package student

import (
	"fmt"
	log "github.com/sirupsen/logrus"
)

// Students 定义学生结构体
type Students struct {
	Id    int      `json:"id"`
	Name  string   `json:"name"`
	Age   int      `json:"age"`
	Class []string `json:"class"`
}

// NewStudent 构造学生结构体的函数
func NewStudent(id int, name string, age int, class []string) *Students {
	return &Students{
		Id:    id,
		Name:  name,
		Age:   age,
		Class: class,
	}
}
func GetInput() {
	fmt.Println(`
		学生管理系统
		1、查看全部学生信息
		2、查看单个学生信息
		3、增加学生信息
		4、修改学生信息
		5、删除学生信息
		6、退出系统
	`)
}
func GetInputMsg() *Students {
	var (
		Id      int
		Name    string
		Age     int
		Classes []string
	)
	fmt.Println("输入学生ID")
	log.Info("输入学生ID: ", Id)
	fmt.Scan(&Id)
	fmt.Println("输入学生姓名")
	log.Info("输入学生姓名: ", Name)
	fmt.Scan(&Name)
	fmt.Println("输入学生年龄")
	log.Info("输入学生年龄: ", Age)
	fmt.Scan(&Age)
	fmt.Println("输入学生的课程")
	log.Info("输入学生课程: ", Classes)
	for {
		var Class string
		fmt.Scan(&Class)
		if Class == "exit" {
			log.Info("输出课程结束")
			break
		}
		Classes = append(Classes, Class)
		log.Info("多个课程已成功追加到切片Classes: ", Classes)
	}
	stuMgs := NewStudent(Id, Name, Age, Classes)
	return stuMgs //stuMgs 等价于--->NewStudent  这个是Student结构体的构造函数，且返回值就是Student结构体
}
